package com.wigem.approve.entity;

import java.math.BigDecimal;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.wigem.framework.common.util.common.GuidUtils;

import java.util.Date;

/**
 * 楼宇基本信息填报对象 daq_estate
 *
 * @author DH
 * @date 2024-05-27
 */

@Data
@ApiModel
@TableName("daq_estate")
public class DaqEstateEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @ApiModelProperty(value = "主键", name = "id")
    @TableId
    private String id;

    /**
     * 楼宇id
     */
    @ApiModelProperty(value = "楼宇id", name = "estateId")
    @TableField(value = "estate_id")
    private String estateId;

    /**
     * 楼宇名称
     */
    @ApiModelProperty(value = "楼宇名称", name = "estateName")
    @TableField(value = "estate_name")
    private String estateName;

    /**
     * 楼宇详细地址
     */
    @ApiModelProperty(value = "楼宇详细地址", name = "estateAddr")
    @TableField(value = "estate_addr")
    private String estateAddr;

    /**
     * 产权单位
     */
    @ApiModelProperty(value = "产权单位", name = "propertyUnit")
    @TableField(value = "property_unit")
    private String propertyUnit;

    /**
     * 产权单位统一社会信用代码
     */
    @ApiModelProperty(value = "产权单位统一社会信用代码", name = "propertyUnitSocialCreditCode")
    @TableField(value = "property_unit_social_credit_code")
    private String propertyUnitSocialCreditCode;

    /**
     * 运营或招商管理单位
     */
    @ApiModelProperty(value = "运营或招商管理单位", name = "operatingUnit")
    @TableField(value = "operating_unit")
    private String operatingUnit;

    /**
     * 运营或招商管理单位统一社会信用代码
     */
    @ApiModelProperty(value = "运营或招商管理单位统一社会信用代码", name = "operatingUnitSocialCreditCode")
    @TableField(value = "operating_unit_social_credit_code")
    private String operatingUnitSocialCreditCode;

    /**
     * 运营或招商管理单位法定代表人
     */
    @ApiModelProperty(value = "运营或招商管理单位法定代表人", name = "operatingUnitLegalRepresentative")
    @TableField(value = "operating_unit_legal_representative")
    private String operatingUnitLegalRepresentative;

    /**
     * 运营或招商管理单位联系人姓名
     */
    @ApiModelProperty(value = "运营或招商管理单位联系人姓名", name = "operatingUnitLinkmanName")
    @TableField(value = "operating_unit_linkman_name")
    private String operatingUnitLinkmanName;

    /**
     * 运营或招商管理单位联系人职务
     */
    @ApiModelProperty(value = "运营或招商管理单位联系人职务", name = "operatingUnitLinkmanJob")
    @TableField(value = "operating_unit_linkman_job")
    private String operatingUnitLinkmanJob;

    /**
     * 联系人电话
     */
    @ApiModelProperty(value = "联系人电话", name = "operatingUnitLinkmanPhone")
    @TableField(value = "operating_unit_linkman_phone")
    private String operatingUnitLinkmanPhone;

    /**
     * 总面积
     */
    @ApiModelProperty(value = "总面积", name = "totalArea")
    @TableField(value = "total_area")
    private BigDecimal totalArea;

    /**
     * 写字楼面积
     */
    @ApiModelProperty(value = "写字楼面积", name = "officeArea")
    @TableField(value = "office_area")
    private BigDecimal officeArea;

    /**
     * 酒店面积
     */
    @ApiModelProperty(value = "酒店面积", name = "hotelArea")
    @TableField(value = "hotel_area")
    private BigDecimal hotelArea;

    /**
     * 住宅面积
     */
    @ApiModelProperty(value = "住宅面积", name = "residentialArea")
    @TableField(value = "residential_area")
    private BigDecimal residentialArea;

    /**
     * 商业面积
     */
    @ApiModelProperty(value = "商业面积", name = "commercialArea")
    @TableField(value = "commercial_area")
    private BigDecimal commercialArea;

    /**
     * 其它面积
     */
    @ApiModelProperty(value = "其它面积", name = "otherArea")
    @TableField(value = "other_area")
    private BigDecimal otherArea;

    /**
     * 产权单位自持面积
     */
    @ApiModelProperty(value = "产权单位自持面积", name = "ownershipUnitArea")
    @TableField(value = "ownership_unit_area")
    private BigDecimal ownershipUnitArea;

    /**
     * 写字楼对外出租面积
     */
    @ApiModelProperty(value = "写字楼对外出租面积", name = "officeLeasedArea")
    @TableField(value = "office_leased_area")
    private BigDecimal officeLeasedArea;

    /**
     * 商业部分平均租金
     */
    @ApiModelProperty(value = "商业部分平均租金", name = "commercialAverageRent")
    @TableField(value = "commercial_average_rent")
    private BigDecimal commercialAverageRent;

    /**
     * 写字楼平均租金
     */
    @ApiModelProperty(value = "写字楼平均租金", name = "officeAverageRent")
    @TableField(value = "office_average_rent")
    private BigDecimal officeAverageRent;

    /**
     * 报告期id
     */
    @ApiModelProperty(value = "报告期id", name = "reportId")
    @TableField(value = "report_id")
    private String reportId;

    /**
     * 删除标记
     */
    @ApiModelProperty(value = "删除标记", name = "removeMark")
    @TableField(value = "remove_mark")
    private String removeMark;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间", name = "createTime")
    @TableField(value = "create_time")
    private Date createTime;

    /**
     * 修改人
     */
    @ApiModelProperty(value = "修改人", name = "updateUser")
    @TableField(value = "update_user")
    private String updateUser;

    /**
     * 关联外键
     */
    @ApiModelProperty(value = "关联外键", name = "policyId")
    @TableField(value = "policy_id")
    private String policyId;

    /**
     * 填表人
     */
    @ApiModelProperty(value = "填表人", name = "fillPerson")
    @TableField(value = "fill_person")
    private String fillPerson;

    /**
     * 填报人电话
     */
    @ApiModelProperty(value = "填报人电话", name = "fillPhone")
    @TableField(value = "fill_phone")
    private String fillPhone;

    /**
     * 楼宇产权证明材料复印件
     */
    @ApiModelProperty(value = "楼宇产权证明材料复印件", name = "buildingCertificate")
    @TableField(value = "building_certificate")
    private String buildingCertificate;
    /**
     * 营业执照
     */
    @ApiModelProperty(value = "营业执照", name = "businessLicense")
    @TableField(value = "business_license")
    private String businessLicense;
    /**
     * 街乡名称
     */
    @ApiModelProperty(value = "街乡名称", name = "regionName")
    @TableField(exist = false)
    private String regionName;

    @ApiModelProperty(value = "街乡id", name = "regionId")
    @TableField(exist = false)
    private String regionId;
    public void create() {
        this.id = GuidUtils.generate();
    }

    public void modify(String keyValue) {
        this.id = keyValue;
    }

}
